/**
 * 
 */
package cn.biplam.front.template.main;

import cn.biplam.common.wrapper.ErrorMessage;
import cn.biplam.common.wrapper.UserInfo;
import cn.biplam.front.html.HtmlDiv;
import cn.biplam.front.html.HtmlPage;
import cn.biplam.front.html.HtmlValue;
import cn.biplam.front.html.base.Html;
import cn.biplam.front.html.base.HtmlWindow;
import cn.biplam.front.html.base.Const.Cursor_Type;
import cn.biplam.front.html.base.Const.Length_Unit;
import cn.biplam.front.html.base.Const.Position_Mode;
import cn.biplam.front.html.base.Const.Visibility_Mode;
import cn.biplam.front.template.main.page.PagePop;

/**
 * Html 主界面模板(简洁版)<BR>
 * 用于安装管理及外部系统调用
 */
public class PageSimple {

	private HtmlDiv domain;
	/**主界面菜单区域 */
	private HtmlPage page;
	private String sHomeUrl="";
	private UserInfo mUser;
	/**用户ID存储对象 */
	private HtmlValue userID;

	/**
	 * 功能：构造方法
	 * @param sTitle	页面标题
	 * @param mUser		用户信息
	 * @param home		网站主目录
	 * @throws ErrorMessage
	 */
	public PageSimple(String sTitle,String home,UserInfo mUser) throws ErrorMessage{
		this.sHomeUrl=home;
		this.mUser=mUser;
		page=new HtmlPage(sTitle);
		
		/**放入用户id*/
		this.userID=new HtmlValue("userid",".uid","");
		page.put(this.userID);
		
		/**设置页面页面基本信息*/
		this._setPage(sTitle);
		
		/**放入主功能区域*/
		page.put(this._createDomain());
		
		/**放入系统信息确认框容器*/
		PagePop.setPop(page, this.mUser, sHomeUrl);

		/** 放入处理等待层*/
		HtmlWindow wait = new HtmlDiv("syswait");
		wait.setStyleHeight("100",Length_Unit.percent);
		wait.setStyleWidth("100",Length_Unit.percent);
		wait.setVisibility(Visibility_Mode.Hidden);
		wait.setCursor(Cursor_Type.Wait);
		wait.setPositionMode(Position_Mode.Absolute);
		wait.setTop("0");
		wait.setLeft("0");
		wait.setZIndex("99");
		wait.setBackGroundImage(this.sHomeUrl+"/images/empty.gif");
		page.put(wait);
		
		/**放入动态绑定初始化脚本*/
		this._bind("mainResize();");
		this._bind("rt.bind();");
		this._bind("document.body.style.visibility='visible';");
		page.bind("window.onresize=mainResize;");
	}
	
	/**
	 * 功能：向页面绑定容器放入脚本
	 * @param sScript
	 * @throws ErrorMessage
	 */
	private void _bind(String sScript) throws ErrorMessage{
		this.page.bind(sScript);
	}
	

	public Html _createDomain() throws ErrorMessage{
		this.domain=new HtmlDiv("domain");
		return domain;
	}

	
	/**
	 * 功能：设置页面Title meta 导入文件、Body基本信息
	 */
	private void _setPage(String sTitle) throws ErrorMessage{
		new MainImport().get(page, sHomeUrl);
//		page.setStyle("visibility", "hidden");
	}

	/**
	 * 功能：获取对象及其内容的 HTML 形式
	 * @return
	 * @throws ErrorMessage
	 */
	public HtmlPage get() throws ErrorMessage{
		return this.page;
	}
	
	/**
	 * 功能：向主功能区域放入内容
	 * @param html
	 */
	public void putDomain(Html html) throws ErrorMessage{
		this.domain.put(html);
	}
	
	public void setUserID(String  userID) {
		this.userID.replace(userID);
	}
}
